import React, { FC } from 'react';
import theme from '../../../theme';

interface AuthenticationIconProps {
  width?: string;
  color?: string;
}

const AuthenticationIcon: FC<AuthenticationIconProps> = ({ width, color }) => {
  const DEFAULT_WIDTH = '24';
  const DEFAULT_COLOR = theme.colors.general.textSecondary;

  return (
    <svg
      width={width || DEFAULT_WIDTH}
      fill={theme.colors.general[color] || DEFAULT_COLOR}
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 512.001 512.001"
    >
      <path d="M466.395 88.411C395.95 69.109 325.091 39.054 261.478 1.496a10.765 10.765 0 00-10.95 0C185.08 40.133 118.05 68.562 45.605 88.411a10.769 10.769 0 00-7.924 10.388v110.046c0 113.323 52.279 188.335 96.137 231.306 47.216 46.265 102.216 71.85 122.185 71.85 19.967 0 74.967-25.585 122.183-71.85 43.857-42.97 96.133-117.982 96.133-231.306V98.798c0-4.852-3.244-9.106-7.924-10.387zm-13.616 120.433c0 105.843-48.761 175.838-89.669 215.92-46.431 45.495-96.074 65.695-107.107 65.695-11.033 0-60.679-20.2-107.111-65.695-40.907-40.083-89.67-110.077-89.67-215.92v-101.87C128.5 87.304 193.018 59.853 256.005 23.25c61.414 35.632 129.151 64.448 196.774 83.72v101.874z" />
      <path d="M160.538 105.769c-2.18-5.535-8.433-8.254-13.969-6.073a876.25 876.25 0 01-58.695 20.741 10.771 10.771 0 00-7.547 10.276v41.591c0 5.948 4.823 10.77 10.77 10.77s10.77-4.822 10.77-10.77v-33.72a897.813 897.813 0 0052.598-18.848c5.535-2.179 8.254-8.432 6.073-13.967zM180.997 107.812c1.445 0 2.912-.291 4.319-.905l.198-.086c5.449-2.388 7.903-8.731 5.515-14.178-2.39-5.449-8.769-7.914-14.212-5.528l-.174.075c-5.452 2.381-7.914 8.719-5.533 14.169 1.767 4.046 5.732 6.453 9.887 6.453zM384.322 347.283c-4.977-3.253-11.651-1.854-14.908 3.125-8.875 13.584-19.287 26.592-30.951 38.659a275.097 275.097 0 01-30.893 27.485c-4.729 3.606-5.639 10.364-2.034 15.095a10.758 10.758 0 008.572 4.241c2.278 0 4.573-.719 6.523-2.207a296.864 296.864 0 0033.317-29.642c12.611-13.044 23.881-27.124 33.499-41.849 3.255-4.98 1.854-11.654-3.125-14.907zM282.558 433.443l-.618.364c-5.147 2.981-6.906 9.569-3.926 14.716a10.763 10.763 0 0014.716 3.924l.713-.419c5.133-3.006 6.857-9.603 3.851-14.736-3.008-5.131-9.606-6.852-14.736-3.849zM182.589 234.019c-6.613-6.614-15.408-10.254-24.762-10.254s-18.15 3.641-24.766 10.254c-13.653 13.656-13.653 35.876 0 49.531l63.596 63.594c6.614 6.612 15.409 10.253 24.764 10.253s18.15-3.641 24.765-10.255L378.947 214.38c13.652-13.659 13.652-35.876-.002-49.527-6.614-6.614-15.409-10.254-24.765-10.254-9.355 0-18.15 3.641-24.765 10.254L221.42 272.848l-38.831-38.829zm162.058-53.934a13.395 13.395 0 019.534-3.946c3.604 0 6.988 1.401 9.535 3.946 5.255 5.255 5.255 13.809-.002 19.066l-132.759 132.76c-2.545 2.545-5.932 3.946-9.534 3.946s-6.989-1.401-9.535-3.946l-63.594-63.592c-5.257-5.257-5.257-13.811-.002-19.066 2.546-2.545 5.933-3.948 9.536-3.948s6.988 1.401 9.533 3.946l46.445 46.446c2.021 2.019 4.759 3.154 7.616 3.154s5.595-1.134 7.614-3.154l115.613-115.612z" />
    </svg>
  );
};

export default AuthenticationIcon;
